/*
 *
 *    Copyright (c) 2021 Project CHIP Authors
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

// THIS FILE IS GENERATED BY ZAP

#ifndef CHIP_CLUSTERS_H
#define CHIP_CLUSTERS_H

#import <Foundation/Foundation.h>

@class CHIPDevice;

typedef void (^ResponseHandler)(NSError * _Nullable error, NSDictionary * _Nullable values);

NS_ASSUME_NONNULL_BEGIN

/**
 * CHIPCluster
 *    This is the base class for clusters.
 */
@interface CHIPCluster : NSObject

- (nullable instancetype)initWithDevice:(CHIPDevice *)device
                               endpoint:(uint16_t)endpoint
                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;

@end

/**
 * Cluster Account Login
 *
 */
@interface CHIPAccountLogin : CHIPCluster

- (void)getSetupPIN:(NSString *)tempAccountIdentifier responseHandler:(ResponseHandler)responseHandler;
- (void)login:(NSString *)tempAccountIdentifier setupPIN:(NSString *)setupPIN responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Application Basic
 *
 */
@interface CHIPApplicationBasic : CHIPCluster

- (void)changeStatus:(uint8_t)status responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeVendorIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeApplicationNameWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeApplicationStatusWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Application Launcher
 *
 */
@interface CHIPApplicationLauncher : CHIPCluster

- (void)launchApp:(NSString *)data
    catalogVendorId:(uint16_t)catalogVendorId
      applicationId:(NSString *)applicationId
    responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeApplicationLauncherListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCatalogVendorIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeApplicationIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Audio Output
 *
 */
@interface CHIPAudioOutput : CHIPCluster

- (void)renameOutput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler;
- (void)selectOutput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeAudioOutputListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentAudioOutputWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Barrier Control
 *
 */
@interface CHIPBarrierControl : CHIPCluster

- (void)barrierControlGoToPercent:(uint8_t)percentOpen responseHandler:(ResponseHandler)responseHandler;
- (void)barrierControlStop:(ResponseHandler)responseHandler;

- (void)readAttributeBarrierMovingStateWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBarrierSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBarrierCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBarrierPositionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Basic
 *
 */
@interface CHIPBasic : CHIPCluster

- (void)mfgSpecificPing:(ResponseHandler)responseHandler;

- (void)readAttributeInteractionModelVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductIDWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLocationWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeLocationWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLocalConfigDisabledWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeLocalConfigDisabledWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeReachableWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Binary Input (Basic)
 *
 */
@interface CHIPBinaryInputBasic : CHIPCluster

- (void)readAttributeOutOfServiceWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeOutOfServiceWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePresentValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributePresentValueWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributePresentValueWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                                      responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributePresentValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeStatusFlagsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeStatusFlagsWithMinInterval:(uint16_t)minInterval
                                         maxInterval:(uint16_t)maxInterval
                                     responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeStatusFlagsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Binding
 *
 */
@interface CHIPBinding : CHIPCluster

- (void)bind:(uint64_t)nodeId
            groupId:(uint16_t)groupId
         endpointId:(uint16_t)endpointId
          clusterId:(uint32_t)clusterId
    responseHandler:(ResponseHandler)responseHandler;
- (void)unbind:(uint64_t)nodeId
            groupId:(uint16_t)groupId
         endpointId:(uint16_t)endpointId
          clusterId:(uint32_t)clusterId
    responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Bridged Device Basic
 *
 */
@interface CHIPBridgedDeviceBasic : CHIPCluster

- (void)readAttributeVendorNameWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeVendorIDWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductNameWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeUserLabelWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeHardwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeHardwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSoftwareVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSoftwareVersionStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeManufacturingDateWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePartNumberWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductURLWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeProductLabelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSerialNumberWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeReachableWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Color Control
 *
 */
@interface CHIPColorControl : CHIPCluster

- (void)colorLoopSet:(uint8_t)updateFlags
              action:(uint8_t)action
           direction:(uint8_t)direction
                time:(uint16_t)time
            startHue:(uint16_t)startHue
         optionsMask:(uint8_t)optionsMask
     optionsOverride:(uint8_t)optionsOverride
     responseHandler:(ResponseHandler)responseHandler;
- (void)enhancedMoveHue:(uint8_t)moveMode
                   rate:(uint16_t)rate
            optionsMask:(uint8_t)optionsMask
        optionsOverride:(uint8_t)optionsOverride
        responseHandler:(ResponseHandler)responseHandler;
- (void)enhancedMoveToHue:(uint16_t)enhancedHue
                direction:(uint8_t)direction
           transitionTime:(uint16_t)transitionTime
              optionsMask:(uint8_t)optionsMask
          optionsOverride:(uint8_t)optionsOverride
          responseHandler:(ResponseHandler)responseHandler;
- (void)enhancedMoveToHueAndSaturation:(uint16_t)enhancedHue
                            saturation:(uint8_t)saturation
                        transitionTime:(uint16_t)transitionTime
                           optionsMask:(uint8_t)optionsMask
                       optionsOverride:(uint8_t)optionsOverride
                       responseHandler:(ResponseHandler)responseHandler;
- (void)enhancedStepHue:(uint8_t)stepMode
               stepSize:(uint16_t)stepSize
         transitionTime:(uint16_t)transitionTime
            optionsMask:(uint8_t)optionsMask
        optionsOverride:(uint8_t)optionsOverride
        responseHandler:(ResponseHandler)responseHandler;
- (void)moveColor:(int16_t)rateX
              rateY:(int16_t)rateY
        optionsMask:(uint8_t)optionsMask
    optionsOverride:(uint8_t)optionsOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)moveColorTemperature:(uint8_t)moveMode
                        rate:(uint16_t)rate
     colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum
     colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum
                 optionsMask:(uint8_t)optionsMask
             optionsOverride:(uint8_t)optionsOverride
             responseHandler:(ResponseHandler)responseHandler;
- (void)moveHue:(uint8_t)moveMode
               rate:(uint8_t)rate
        optionsMask:(uint8_t)optionsMask
    optionsOverride:(uint8_t)optionsOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)moveSaturation:(uint8_t)moveMode
                  rate:(uint8_t)rate
           optionsMask:(uint8_t)optionsMask
       optionsOverride:(uint8_t)optionsOverride
       responseHandler:(ResponseHandler)responseHandler;
- (void)moveToColor:(uint16_t)colorX
             colorY:(uint16_t)colorY
     transitionTime:(uint16_t)transitionTime
        optionsMask:(uint8_t)optionsMask
    optionsOverride:(uint8_t)optionsOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)moveToColorTemperature:(uint16_t)colorTemperature
                transitionTime:(uint16_t)transitionTime
                   optionsMask:(uint8_t)optionsMask
               optionsOverride:(uint8_t)optionsOverride
               responseHandler:(ResponseHandler)responseHandler;
- (void)moveToHue:(uint8_t)hue
          direction:(uint8_t)direction
     transitionTime:(uint16_t)transitionTime
        optionsMask:(uint8_t)optionsMask
    optionsOverride:(uint8_t)optionsOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)moveToHueAndSaturation:(uint8_t)hue
                    saturation:(uint8_t)saturation
                transitionTime:(uint16_t)transitionTime
                   optionsMask:(uint8_t)optionsMask
               optionsOverride:(uint8_t)optionsOverride
               responseHandler:(ResponseHandler)responseHandler;
- (void)moveToSaturation:(uint8_t)saturation
          transitionTime:(uint16_t)transitionTime
             optionsMask:(uint8_t)optionsMask
         optionsOverride:(uint8_t)optionsOverride
         responseHandler:(ResponseHandler)responseHandler;
- (void)stepColor:(int16_t)stepX
              stepY:(int16_t)stepY
     transitionTime:(uint16_t)transitionTime
        optionsMask:(uint8_t)optionsMask
    optionsOverride:(uint8_t)optionsOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)stepColorTemperature:(uint8_t)stepMode
                    stepSize:(uint16_t)stepSize
              transitionTime:(uint16_t)transitionTime
     colorTemperatureMinimum:(uint16_t)colorTemperatureMinimum
     colorTemperatureMaximum:(uint16_t)colorTemperatureMaximum
                 optionsMask:(uint8_t)optionsMask
             optionsOverride:(uint8_t)optionsOverride
             responseHandler:(ResponseHandler)responseHandler;
- (void)stepHue:(uint8_t)stepMode
           stepSize:(uint8_t)stepSize
     transitionTime:(uint8_t)transitionTime
        optionsMask:(uint8_t)optionsMask
    optionsOverride:(uint8_t)optionsOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)stepSaturation:(uint8_t)stepMode
              stepSize:(uint8_t)stepSize
        transitionTime:(uint8_t)transitionTime
           optionsMask:(uint8_t)optionsMask
       optionsOverride:(uint8_t)optionsOverride
       responseHandler:(ResponseHandler)responseHandler;
- (void)stopMoveStep:(uint8_t)optionsMask optionsOverride:(uint8_t)optionsOverride responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentHueWithMinInterval:(uint16_t)minInterval
                                        maxInterval:(uint16_t)maxInterval
                                             change:(uint8_t)change
                                    responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentHueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentSaturationWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                                    change:(uint8_t)change
                                           responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentSaturationWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRemainingTimeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentXWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                                           change:(uint16_t)change
                                  responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentXWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentYWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                                           change:(uint16_t)change
                                  responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentYWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeDriftCompensationWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCompensationTextWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeColorTemperatureWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                                   change:(uint16_t)change
                                          responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeColorTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorModeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorControlOptionsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorControlOptionsWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeNumberOfPrimariesWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary1XWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary1YWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary1IntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary2XWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary2YWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary2IntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary3XWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary3YWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary3IntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary4XWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary4YWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary4IntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary5XWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary5YWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary5IntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary6XWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary6YWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePrimary6IntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeWhitePointXWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeWhitePointXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeWhitePointYWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeWhitePointYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointRXWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointRXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointRYWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointRYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointRIntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointRIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointGXWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointGXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointGYWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointGYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointGIntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointGIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointBXWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointBXWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointBYWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointBYWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorPointBIntensityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeColorPointBIntensityWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeEnhancedCurrentHueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeEnhancedColorModeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorLoopActiveWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorLoopDirectionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorLoopTimeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorCapabilitiesWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorTempPhysicalMinWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeColorTempPhysicalMaxWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCoupleColorTempToLevelMinMiredsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeStartUpColorTemperatureMiredsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Content Launcher
 *
 */
@interface CHIPContentLauncher : CHIPCluster

- (void)launchContent:(uint8_t)autoPlay data:(NSString *)data responseHandler:(ResponseHandler)responseHandler;
- (void)launchURL:(NSString *)contentURL displayString:(NSString *)displayString responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeAcceptsHeaderListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSupportedStreamingTypesWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Descriptor
 *
 */
@interface CHIPDescriptor : CHIPCluster

- (void)readAttributeDeviceListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeServerListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClientListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePartsListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Diagnostic Logs
 *
 */
@interface CHIPDiagnosticLogs : CHIPCluster

- (void)retrieveLogsRequest:(uint8_t)intent
          requestedProtocol:(uint8_t)requestedProtocol
     transferFileDesignator:(NSData *)transferFileDesignator
            responseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Door Lock
 *
 */
@interface CHIPDoorLock : CHIPCluster

- (void)clearAllPins:(ResponseHandler)responseHandler;
- (void)clearAllRfids:(ResponseHandler)responseHandler;
- (void)clearHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler;
- (void)clearPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)clearRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)clearWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)clearYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)getHolidaySchedule:(uint8_t)scheduleId responseHandler:(ResponseHandler)responseHandler;
- (void)getLogRecord:(uint16_t)logIndex responseHandler:(ResponseHandler)responseHandler;
- (void)getPin:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)getRfid:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)getUserType:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)getWeekdaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)getYeardaySchedule:(uint8_t)scheduleId userId:(uint16_t)userId responseHandler:(ResponseHandler)responseHandler;
- (void)lockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler;
- (void)setHolidaySchedule:(uint8_t)scheduleId
                localStartTime:(uint32_t)localStartTime
                  localEndTime:(uint32_t)localEndTime
    operatingModeDuringHoliday:(uint8_t)operatingModeDuringHoliday
               responseHandler:(ResponseHandler)responseHandler;
- (void)setPin:(uint16_t)userId
         userStatus:(uint8_t)userStatus
           userType:(uint8_t)userType
                pin:(NSString *)pin
    responseHandler:(ResponseHandler)responseHandler;
- (void)setRfid:(uint16_t)userId
         userStatus:(uint8_t)userStatus
           userType:(uint8_t)userType
                 id:(NSString *)id
    responseHandler:(ResponseHandler)responseHandler;
- (void)setUserType:(uint16_t)userId userType:(uint8_t)userType responseHandler:(ResponseHandler)responseHandler;
- (void)setWeekdaySchedule:(uint8_t)scheduleId
                    userId:(uint16_t)userId
                  daysMask:(uint8_t)daysMask
                 startHour:(uint8_t)startHour
               startMinute:(uint8_t)startMinute
                   endHour:(uint8_t)endHour
                 endMinute:(uint8_t)endMinute
           responseHandler:(ResponseHandler)responseHandler;
- (void)setYeardaySchedule:(uint8_t)scheduleId
                    userId:(uint16_t)userId
            localStartTime:(uint32_t)localStartTime
              localEndTime:(uint32_t)localEndTime
           responseHandler:(ResponseHandler)responseHandler;
- (void)unlockDoor:(NSString *)pin responseHandler:(ResponseHandler)responseHandler;
- (void)unlockWithTimeout:(uint16_t)timeoutInSeconds pin:(NSString *)pin responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeLockStateWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                                   responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeLockStateWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLockTypeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeActuatorEnabledWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Electrical Measurement
 *
 */
@interface CHIPElectricalMeasurement : CHIPCluster

- (void)readAttributeMeasurementTypeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTotalActivePowerWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRmsVoltageWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRmsVoltageMinWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRmsVoltageMaxWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRmsCurrentWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRmsCurrentMinWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRmsCurrentMaxWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeActivePowerWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeActivePowerMinWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeActivePowerMaxWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Ethernet Network Diagnostics
 *
 */
@interface CHIPEthernetNetworkDiagnostics : CHIPCluster

- (void)resetCounts:(ResponseHandler)responseHandler;

- (void)readAttributePacketRxCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePacketTxCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxErrCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCollisionCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOverrunCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Fixed Label
 *
 */
@interface CHIPFixedLabel : CHIPCluster

- (void)readAttributeLabelListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Flow Measurement
 *
 */
@interface CHIPFlowMeasurement : CHIPCluster

- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster General Commissioning
 *
 */
@interface CHIPGeneralCommissioning : CHIPCluster

- (void)armFailSafe:(uint16_t)expiryLengthSeconds
         breadcrumb:(uint64_t)breadcrumb
          timeoutMs:(uint32_t)timeoutMs
    responseHandler:(ResponseHandler)responseHandler;
- (void)commissioningComplete:(ResponseHandler)responseHandler;
- (void)setRegulatoryConfig:(uint8_t)location
                countryCode:(NSString *)countryCode
                 breadcrumb:(uint64_t)breadcrumb
                  timeoutMs:(uint32_t)timeoutMs
            responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeFabricIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBreadcrumbWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeBreadcrumbWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster General Diagnostics
 *
 */
@interface CHIPGeneralDiagnostics : CHIPCluster

- (void)readAttributeNetworkInterfacesWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRebootCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Group Key Management
 *
 */
@interface CHIPGroupKeyManagement : CHIPCluster

- (void)readAttributeGroupsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeGroupKeysWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Groups
 *
 */
@interface CHIPGroups : CHIPCluster

- (void)addGroup:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler;
- (void)addGroupIfIdentifying:(uint16_t)groupId groupName:(NSString *)groupName responseHandler:(ResponseHandler)responseHandler;
- (void)getGroupMembership:(uint8_t)groupCount groupList:(uint16_t)groupList responseHandler:(ResponseHandler)responseHandler;
- (void)removeAllGroups:(ResponseHandler)responseHandler;
- (void)removeGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;
- (void)viewGroup:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Identify
 *
 */
@interface CHIPIdentify : CHIPCluster

- (void)identify:(uint16_t)identifyTime responseHandler:(ResponseHandler)responseHandler;
- (void)identifyQuery:(ResponseHandler)responseHandler;

- (void)readAttributeIdentifyTimeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeIdentifyTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Keypad Input
 *
 */
@interface CHIPKeypadInput : CHIPCluster

- (void)sendKey:(uint8_t)keyCode responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Level Control
 *
 */
@interface CHIPLevelControl : CHIPCluster

- (void)move:(uint8_t)moveMode
               rate:(uint8_t)rate
         optionMask:(uint8_t)optionMask
     optionOverride:(uint8_t)optionOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)moveToLevel:(uint8_t)level
     transitionTime:(uint16_t)transitionTime
         optionMask:(uint8_t)optionMask
     optionOverride:(uint8_t)optionOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)moveToLevelWithOnOff:(uint8_t)level
              transitionTime:(uint16_t)transitionTime
             responseHandler:(ResponseHandler)responseHandler;
- (void)moveWithOnOff:(uint8_t)moveMode rate:(uint8_t)rate responseHandler:(ResponseHandler)responseHandler;
- (void)step:(uint8_t)stepMode
           stepSize:(uint8_t)stepSize
     transitionTime:(uint16_t)transitionTime
         optionMask:(uint8_t)optionMask
     optionOverride:(uint8_t)optionOverride
    responseHandler:(ResponseHandler)responseHandler;
- (void)stepWithOnOff:(uint8_t)stepMode
             stepSize:(uint8_t)stepSize
       transitionTime:(uint16_t)transitionTime
      responseHandler:(ResponseHandler)responseHandler;
- (void)stop:(uint8_t)optionMask optionOverride:(uint8_t)optionOverride responseHandler:(ResponseHandler)responseHandler;
- (void)stopWithOnOff:(ResponseHandler)responseHandler;

- (void)readAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentLevelWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                                               change:(uint8_t)change
                                      responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentLevelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Low Power
 *
 */
@interface CHIPLowPower : CHIPCluster

- (void)sleep:(ResponseHandler)responseHandler;

- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Media Input
 *
 */
@interface CHIPMediaInput : CHIPCluster

- (void)hideInputStatus:(ResponseHandler)responseHandler;
- (void)renameInput:(uint8_t)index name:(NSString *)name responseHandler:(ResponseHandler)responseHandler;
- (void)selectInput:(uint8_t)index responseHandler:(ResponseHandler)responseHandler;
- (void)showInputStatus:(ResponseHandler)responseHandler;

- (void)readAttributeMediaInputListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentMediaInputWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Media Playback
 *
 */
@interface CHIPMediaPlayback : CHIPCluster

- (void)mediaFastForward:(ResponseHandler)responseHandler;
- (void)mediaNext:(ResponseHandler)responseHandler;
- (void)mediaPause:(ResponseHandler)responseHandler;
- (void)mediaPlay:(ResponseHandler)responseHandler;
- (void)mediaPrevious:(ResponseHandler)responseHandler;
- (void)mediaRewind:(ResponseHandler)responseHandler;
- (void)mediaSeek:(uint64_t)position responseHandler:(ResponseHandler)responseHandler;
- (void)mediaSkipBackward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler;
- (void)mediaSkipForward:(uint64_t)deltaPositionMilliseconds responseHandler:(ResponseHandler)responseHandler;
- (void)mediaStartOver:(ResponseHandler)responseHandler;
- (void)mediaStop:(ResponseHandler)responseHandler;

- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Network Commissioning
 *
 */
@interface CHIPNetworkCommissioning : CHIPCluster

- (void)addThreadNetwork:(NSData *)operationalDataset
              breadcrumb:(uint64_t)breadcrumb
               timeoutMs:(uint32_t)timeoutMs
         responseHandler:(ResponseHandler)responseHandler;
- (void)addWiFiNetwork:(NSData *)ssid
           credentials:(NSData *)credentials
            breadcrumb:(uint64_t)breadcrumb
             timeoutMs:(uint32_t)timeoutMs
       responseHandler:(ResponseHandler)responseHandler;
- (void)disableNetwork:(NSData *)networkID
            breadcrumb:(uint64_t)breadcrumb
             timeoutMs:(uint32_t)timeoutMs
       responseHandler:(ResponseHandler)responseHandler;
- (void)enableNetwork:(NSData *)networkID
           breadcrumb:(uint64_t)breadcrumb
            timeoutMs:(uint32_t)timeoutMs
      responseHandler:(ResponseHandler)responseHandler;
- (void)getLastNetworkCommissioningResult:(uint32_t)timeoutMs responseHandler:(ResponseHandler)responseHandler;
- (void)removeNetwork:(NSData *)networkID
           breadcrumb:(uint64_t)breadcrumb
            timeoutMs:(uint32_t)timeoutMs
      responseHandler:(ResponseHandler)responseHandler;
- (void)scanNetworks:(NSData *)ssid
          breadcrumb:(uint64_t)breadcrumb
           timeoutMs:(uint32_t)timeoutMs
     responseHandler:(ResponseHandler)responseHandler;
- (void)updateThreadNetwork:(NSData *)operationalDataset
                 breadcrumb:(uint64_t)breadcrumb
                  timeoutMs:(uint32_t)timeoutMs
            responseHandler:(ResponseHandler)responseHandler;
- (void)updateWiFiNetwork:(NSData *)ssid
              credentials:(NSData *)credentials
               breadcrumb:(uint64_t)breadcrumb
                timeoutMs:(uint32_t)timeoutMs
          responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster OTA Software Update Provider
 *
 */
@interface CHIPOtaSoftwareUpdateProvider : CHIPCluster

- (void)applyUpdateRequest:(NSData *)updateToken newVersion:(uint32_t)newVersion responseHandler:(ResponseHandler)responseHandler;
- (void)notifyUpdateApplied:(NSData *)updateToken
             currentVersion:(uint32_t)currentVersion
            responseHandler:(ResponseHandler)responseHandler;
- (void)queryImage:(uint16_t)vendorId
              productId:(uint16_t)productId
              imageType:(uint16_t)imageType
        hardwareVersion:(uint16_t)hardwareVersion
         currentVersion:(uint32_t)currentVersion
     protocolsSupported:(uint8_t)protocolsSupported
               location:(NSString *)location
    requestorCanConsent:(uint8_t)requestorCanConsent
    metadataForProvider:(NSData *)metadataForProvider
        responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Occupancy Sensing
 *
 */
@interface CHIPOccupancySensing : CHIPCluster

- (void)readAttributeOccupancyWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeOccupancyWithMinInterval:(uint16_t)minInterval
                                       maxInterval:(uint16_t)maxInterval
                                   responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeOccupancyWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOccupancySensorTypeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOccupancySensorTypeBitmapWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster On/off
 *
 */
@interface CHIPOnOff : CHIPCluster

- (void)off:(ResponseHandler)responseHandler;
- (void)offWithEffect:(uint8_t)effectId effectVariant:(uint8_t)effectVariant responseHandler:(ResponseHandler)responseHandler;
- (void)on:(ResponseHandler)responseHandler;
- (void)onWithRecallGlobalScene:(ResponseHandler)responseHandler;
- (void)onWithTimedOff:(uint8_t)onOffControl
                onTime:(uint16_t)onTime
           offWaitTime:(uint16_t)offWaitTime
       responseHandler:(ResponseHandler)responseHandler;
- (void)toggle:(ResponseHandler)responseHandler;

- (void)readAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeOnOffWithMinInterval:(uint16_t)minInterval
                                   maxInterval:(uint16_t)maxInterval
                               responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeOnOffWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeGlobalSceneControlWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOnTimeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeOnTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOffWaitTimeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeOffWaitTimeWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeStartUpOnOffWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeStartUpOnOffWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeFeatureMapWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Operational Credentials
 *
 */
@interface CHIPOperationalCredentials : CHIPCluster

- (void)addOpCert:(NSData *)nOCArray
           iPKValue:(NSData *)iPKValue
      caseAdminNode:(uint64_t)caseAdminNode
      adminVendorId:(uint16_t)adminVendorId
    responseHandler:(ResponseHandler)responseHandler;
- (void)addTrustedRootCertificate:(NSData *)rootCertificate responseHandler:(ResponseHandler)responseHandler;
- (void)opCSRRequest:(NSData *)cSRNonce responseHandler:(ResponseHandler)responseHandler;
- (void)removeAllFabrics:(ResponseHandler)responseHandler;
- (void)removeFabric:(uint64_t)fabricId
              nodeId:(uint64_t)nodeId
            vendorId:(uint16_t)vendorId
     responseHandler:(ResponseHandler)responseHandler;
- (void)removeTrustedRootCertificate:(NSData *)trustedRootIdentifier responseHandler:(ResponseHandler)responseHandler;
- (void)setFabric:(uint16_t)vendorId responseHandler:(ResponseHandler)responseHandler;
- (void)updateFabricLabel:(NSString *)label responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeFabricsListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Pressure Measurement
 *
 */
@interface CHIPPressureMeasurement : CHIPCluster

- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                                                change:(int16_t)change
                                       responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Pump Configuration and Control
 *
 */
@interface CHIPPumpConfigurationAndControl : CHIPCluster

- (void)readAttributeMaxPressureWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMaxSpeedWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMaxFlowWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeEffectiveOperationModeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeEffectiveControlModeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCapacityWithMinInterval:(uint16_t)minInterval
                                      maxInterval:(uint16_t)maxInterval
                                           change:(int16_t)change
                                  responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCapacityWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOperationModeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeOperationModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Relative Humidity Measurement
 *
 */
@interface CHIPRelativeHumidityMeasurement : CHIPCluster

- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                                                change:(uint16_t)change
                                       responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Scenes
 *
 */
@interface CHIPScenes : CHIPCluster

- (void)addScene:(uint16_t)groupId
            sceneId:(uint8_t)sceneId
     transitionTime:(uint16_t)transitionTime
          sceneName:(NSString *)sceneName
          clusterId:(uint32_t)clusterId
             length:(uint8_t)length
              value:(uint8_t)value
    responseHandler:(ResponseHandler)responseHandler;
- (void)getSceneMembership:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;
- (void)recallScene:(uint16_t)groupId
            sceneId:(uint8_t)sceneId
     transitionTime:(uint16_t)transitionTime
    responseHandler:(ResponseHandler)responseHandler;
- (void)removeAllScenes:(uint16_t)groupId responseHandler:(ResponseHandler)responseHandler;
- (void)removeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler;
- (void)storeScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler;
- (void)viewScene:(uint16_t)groupId sceneId:(uint8_t)sceneId responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeSceneCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentSceneWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentGroupWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSceneValidWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeNameSupportWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Software Diagnostics
 *
 */
@interface CHIPSoftwareDiagnostics : CHIPCluster

- (void)resetWatermarks:(ResponseHandler)responseHandler;

- (void)readAttributeCurrentHeapHighWatermarkWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Switch
 *
 */
@interface CHIPSwitch : CHIPCluster

- (void)readAttributeNumberOfPositionsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentPositionWithMinInterval:(uint16_t)minInterval
                                             maxInterval:(uint16_t)maxInterval
                                                  change:(uint8_t)change
                                         responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentPositionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster TV Channel
 *
 */
@interface CHIPTvChannel : CHIPCluster

- (void)changeChannel:(NSString *)match responseHandler:(ResponseHandler)responseHandler;
- (void)changeChannelByNumber:(uint16_t)majorNumber
                  minorNumber:(uint16_t)minorNumber
              responseHandler:(ResponseHandler)responseHandler;
- (void)skipChannel:(uint16_t)count responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeTvChannelListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTvChannelLineupWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentTvChannelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Target Navigator
 *
 */
@interface CHIPTargetNavigator : CHIPCluster

- (void)navigateTarget:(uint8_t)target data:(NSString *)data responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeTargetNavigatorListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Temperature Measurement
 *
 */
@interface CHIPTemperatureMeasurement : CHIPCluster

- (void)readAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeMeasuredValueWithMinInterval:(uint16_t)minInterval
                                           maxInterval:(uint16_t)maxInterval
                                                change:(int16_t)change
                                       responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMinMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMaxMeasuredValueWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Test Cluster
 *
 */
@interface CHIPTestCluster : CHIPCluster

- (void)test:(ResponseHandler)responseHandler;
- (void)testNotHandled:(ResponseHandler)responseHandler;
- (void)testSpecific:(ResponseHandler)responseHandler;
- (void)testUnknownCommand:(ResponseHandler)responseHandler;

- (void)readAttributeBooleanWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeBooleanWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBitmap8WithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeBitmap8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBitmap16WithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeBitmap16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBitmap32WithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeBitmap32WithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBitmap64WithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeBitmap64WithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt8uWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt8uWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt16uWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt16uWithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt32uWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt32uWithValue:(uint32_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt64uWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt64uWithValue:(uint64_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt8sWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt8sWithValue:(int8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt16sWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt16sWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt32sWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt32sWithValue:(int32_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInt64sWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeInt64sWithValue:(int64_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeEnum8WithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeEnum8WithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeEnum16WithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeEnum16WithValue:(uint16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeListInt8uWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeListOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeListStructOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLongOctetStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeLongOctetStringWithValue:(NSData *)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCharStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeCharStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLongCharStringWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeLongCharStringWithValue:(NSString *)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeUnsupportedWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeUnsupportedWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Thermostat
 *
 */
@interface CHIPThermostat : CHIPCluster

- (void)clearWeeklySchedule:(ResponseHandler)responseHandler;
- (void)getRelayStatusLog:(ResponseHandler)responseHandler;
- (void)getWeeklySchedule:(uint8_t)daysToReturn modeToReturn:(uint8_t)modeToReturn responseHandler:(ResponseHandler)responseHandler;
- (void)setWeeklySchedule:(uint8_t)numberOfTransitionsForSequence
     dayOfWeekForSequence:(uint8_t)dayOfWeekForSequence
          modeForSequence:(uint8_t)modeForSequence
                  payload:(uint8_t)payload
          responseHandler:(ResponseHandler)responseHandler;
- (void)setpointRaiseLower:(uint8_t)mode amount:(int8_t)amount responseHandler:(ResponseHandler)responseHandler;

- (void)readAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeLocalTemperatureWithMinInterval:(uint16_t)minInterval
                                              maxInterval:(uint16_t)maxInterval
                                                   change:(int16_t)change
                                          responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeLocalTemperatureWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOccupiedCoolingSetpointWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeOccupiedCoolingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOccupiedHeatingSetpointWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeOccupiedHeatingSetpointWithValue:(int16_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeControlSequenceOfOperationWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeControlSequenceOfOperationWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSystemModeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeSystemModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeStartOfWeekWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeNumberOfWeeklyTransitionsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeNumberOfDailyTransitionsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeFeatureMapWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Thread Network Diagnostics
 *
 */
@interface CHIPThreadNetworkDiagnostics : CHIPCluster

- (void)resetCounts:(ResponseHandler)responseHandler;

- (void)readAttributeChannelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRoutingRoleWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeNetworkNameWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePanIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeExtendedPanIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeMeshLocalPrefixWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOverrunCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeNeighborTableListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRouteTableListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePartitionIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeWeightingWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeDataVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeStableDataVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLeaderRouterIdWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeDetachedRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeChildRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRouterRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLeaderRoleCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeAttachAttemptCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributePartitionIdChangeCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeBetterPartitionAttachAttemptCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeParentChangeCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxTotalCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxUnicastCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxBroadcastCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxAckRequestedCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxAckedCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxNoAckRequestedCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxDataCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxDataPollCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxBeaconCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxBeaconRequestCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxOtherCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxRetryCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxDirectMaxRetryExpiryCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxIndirectMaxRetryExpiryCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxErrCcaCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxErrAbortCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTxErrBusyChannelCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxTotalCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxUnicastCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxBroadcastCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxDataCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxDataPollCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxBeaconCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxBeaconRequestCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxOtherCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxAddressFilteredCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxDestAddrFilteredCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxDuplicatedCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxErrNoFrameCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxErrUnknownNeighborCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxErrInvalidSrcAddrCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxErrSecCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxErrFcsCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRxErrOtherCountWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSecurityPolicyWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeChannelMaskWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOperationalDatasetComponentsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeActiveNetworkFaultsListWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Wake on LAN
 *
 */
@interface CHIPWakeOnLan : CHIPCluster

- (void)readAttributeWakeOnLanMacAddressWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster WiFi Network Diagnostics
 *
 */
@interface CHIPWiFiNetworkDiagnostics : CHIPCluster

- (void)resetCounts:(ResponseHandler)responseHandler;

- (void)readAttributeBssidWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSecurityTypeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeWiFiVersionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeChannelNumberWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeRssiWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

/**
 * Cluster Window Covering
 *
 */
@interface CHIPWindowCovering : CHIPCluster

- (void)downOrClose:(ResponseHandler)responseHandler;
- (void)goToLiftPercentage:(uint8_t)liftPercentageValue
    liftPercent100thsValue:(uint16_t)liftPercent100thsValue
           responseHandler:(ResponseHandler)responseHandler;
- (void)goToLiftValue:(uint16_t)liftValue responseHandler:(ResponseHandler)responseHandler;
- (void)goToTiltPercentage:(uint8_t)tiltPercentageValue
    tiltPercent100thsValue:(uint16_t)tiltPercent100thsValue
           responseHandler:(ResponseHandler)responseHandler;
- (void)goToTiltValue:(uint16_t)tiltValue responseHandler:(ResponseHandler)responseHandler;
- (void)stopMotion:(ResponseHandler)responseHandler;
- (void)upOrOpen:(ResponseHandler)responseHandler;

- (void)readAttributeTypeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentPositionLiftWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentPositionTiltWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeConfigStatusWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentPositionLiftPercentageWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentPositionLiftPercentageWithMinInterval:(uint16_t)minInterval
                                                           maxInterval:(uint16_t)maxInterval
                                                                change:(uint8_t)change
                                                       responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentPositionLiftPercentageWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentPositionTiltPercentageWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentPositionTiltPercentageWithMinInterval:(uint16_t)minInterval
                                                           maxInterval:(uint16_t)maxInterval
                                                                change:(uint8_t)change
                                                       responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentPositionTiltPercentageWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeOperationalStatusWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeOperationalStatusWithMinInterval:(uint16_t)minInterval
                                               maxInterval:(uint16_t)maxInterval
                                           responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeOperationalStatusWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTargetPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeTargetPositionLiftPercent100thsWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                                  change:(uint16_t)change
                                                         responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeTargetPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeTargetPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeTargetPositionTiltPercent100thsWithMinInterval:(uint16_t)minInterval
                                                             maxInterval:(uint16_t)maxInterval
                                                                  change:(uint16_t)change
                                                         responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeTargetPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeEndProductTypeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentPositionLiftPercent100thsWithMinInterval:(uint16_t)minInterval
                                                              maxInterval:(uint16_t)maxInterval
                                                                   change:(uint16_t)change
                                                          responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentPositionLiftPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeCurrentPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeCurrentPositionTiltPercent100thsWithMinInterval:(uint16_t)minInterval
                                                              maxInterval:(uint16_t)maxInterval
                                                                   change:(uint16_t)change
                                                          responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeCurrentPositionTiltPercent100thsWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInstalledOpenLimitLiftWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInstalledClosedLimitLiftWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInstalledOpenLimitTiltWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeInstalledClosedLimitTiltWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeModeWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeModeWithValue:(uint8_t)value responseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler;
- (void)configureAttributeSafetyStatusWithMinInterval:(uint16_t)minInterval
                                          maxInterval:(uint16_t)maxInterval
                                      responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeSafetyStatusWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;

@end

NS_ASSUME_NONNULL_END

#endif /* CHIP_CLUSTERS_H */
